package cn.itcast.zt.extend;

import org.springframework.beans.factory.BeanNameAware;
import org.springframework.boot.web.servlet.context.WebApplicationContextServletContextAwareProcessor;
import org.springframework.stereotype.Component;

/**
 * @author zhangtian105
 * @ClassName NineApplicationContextAwareProcessor.java
 * @projectName SpringBoot2.x
 * @Description 这个类也是Aware扩展的一种，触发点在bean的初始化之前，也就是postProcessBeforeInitialization之前，这个类的触发点方法只有一个：setBeanName
 * 使用场景为：
 *  用户可以扩展这个点，在初始化bean之前拿到spring容器中注册的的beanName，来自行修改这个beanName的值
 * @createTime 2020年11月10日 16:50:00
 */
@Component
public class _10BeanNameAware implements BeanNameAware {

    public _10BeanNameAware() {
        System.out.println("【BeanNameAware.BeanNameAware】org.springframework.beans.factory.BeanNameAware......");
    }

    @Override
    public void setBeanName(String s) {
        System.out.println("【BeanNameAware.setBeanName】org.springframework.beans.factory.BeanNameAware......");
    }
}
